Search strategies for functional logic programming
نویسندگان
چکیده
In this paper we discuss our practical experiences with the use of different search strategies in functional logic programs. In particular, we show that complete strategies, like breadth-first search or iterative deepening search, are a viable alternative to incomplete strategies, like depth-first search, that have been favored in the past for logic programming languages.
منابع مشابه
Curry: A Truly Functional Logic Language
Functional and logic programming are the most important declarative programming paradigms, and interest in combining them has grown over the last decade. However, integrated functional logic languages are currently not widely used. This is due to the fact that the operational principles are not well understood and many diierent evaluation strategies have been proposed which resulted in many dii...
متن کاملCoalgebraic Semantics for Parallel Derivation Strategies in Logic Programming
Logic programming, a class of programming languages based on first-order logic, provides simple and efficient tools for goal-oriented proof-search. Logic programming supports recursive computations, and some logic programs resemble the inductive or coinductive definitions written in functional programming languages. In this paper, we give a coalgebraic semantics to logic programming. We show th...
متن کاملEmbedding Prolog in Haskell
The distinctive merit of the declarative reading of logic programs is the validity of all the laws of reasoning supplied by the predicate calculus with equality Surprisingly many of these laws are still valid for the procedural reading they can therefore be used safely for algebraic manipulation program transformation and optimisation of executable logic programs This paper lists a number of co...
متن کاملEncapsulating Non-Determinism in Functional Logic Computations
One of the key features of the integration of functional and logic languages is the access to non-deterministic computations from the functional part of the program. In order to ensure the determinism of top-level computations in a functional logic program, which is usually a monadic sequence of I/O operations, one has to encapsulate the non-determinism (i.e., search for solutions) occurring in...
متن کاملAn Eecient Abstract Machine for Curry
The functional logic programming language Curry integrates features from functional logic and concurrent programming It combines lazy evaluation higher order functions logic variables partial data struc tures built in search and the concurrent evaluation of equational con straints Curry amalgamates the most important operational principles developed in the area of integrated functional logic la...
متن کامل